

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface TTTRmi extends Remote {
	/**
	 * Client is bound to a server
	 * @param name The player's name
	 * @param mark The player's mark
	 * @param opponent The player's opponent
	 * @throws RemoteException
	 */
	public String connect(String name, char mark, TTTRmi opponent) throws RemoteException;
	/**
	 * Notify the opponent of a mark
	 * @param x X-coordinate on the board
	 * @param y Y-coordinate on the board
	 * @throws RemoteException
	 */
	public void mark(int x, int y) throws RemoteException;
	/**
	 * Notify the opponent of a reset of the board and start of a new game
	 * @throws RemoteException
	 */
	public void reset() throws RemoteException;
	/**
	 * Notify the opponent that we're shutting down
	 * @throws RemoteException
	 */
	public void disconnect() throws RemoteException;
	/**
	 * Notify the opponent that we are victorious
	 * @throws RemoteException
	 */
	public void notifyVictory() throws RemoteException;
}
